/*
算法3-7~9 顺序队列的3个操作
分数 20
作者 陈越
单位 浙江大学

请编写程序，将 n+1 个整数顺序压入容量为 n 的队列，随后执行 n+1
次取队首并出队的操作。 输入格式：

输入首先在第一行给出正整数 n（≤104）；随后一行给出 n+1 个 int
范围内的整数，数字间以空格分隔。 输出格式：

将输入的n+1 个整数顺序压入容量为 n 的队列，随后执行 n+1
次取队首并出队的操作，输出取出的元素的值，每行一个。
注意：当队列已满时，入队操作应该不执行，并在一行中输出错误信息
错误：队列已满。；当队列为空时，取队首和出队操作应该不执行，并在一行中输出错误信息
错误：队列为空。。空队列取队首应返回 -1。 输入样例：

5
1 2 3 4 5 6

输出样例：

错误：队列已满。
1
2
3
4
5
错误：队列为空。
-1
错误：队列为空。
*/

#include "../base/Queue.cpp"
#include <iostream>

using namespace std;

int main() {
    int n;
    cin >> n;
    Queue *queue = init(n);
    int x;
    for (int i = 0; i <= n; ++i) {
        cin >> x;
        if (!enQueue(queue, x)) {
            cout << "错误：队列已满。" << endl;
        }
    }
    for (int i = 0; i <= n; ++i) {
        if (isEmpty(queue)) {
            cout << "错误：队列为空。" << endl;
            cout << front(queue) << endl;
        } else {
            cout << front(queue) << endl;
            deQueue(queue);
        }
    }
    cout << "错误：队列为空。" << endl;
    return 0;
}